package datos;
import java.util.ArrayList;
import java.util.Iterator;


/**
 *
 * @author LEONARDO
 */
public class Objetivo {
    private int codigo;
    private String descripcion;
    private int cantPaisNorteAmerica;
    private int cantPaisSudAmerica;
    private int cantPaisEuropa;
    private int cantPaisAsia;
    private int cantPaisAfrica;
    private int cantPaisOceania;
    private Jugador jugadorAEliminar;

    public Objetivo(String descripcion, int cantPaisNorteAmerica, int cantPaisSudAmerica, int cantPaisEuropa, int cantPaisAsia, int cantPaisAfrica, int cantPaisOceania, Jugador jugadorAEliminar) {
        this.descripcion = descripcion;
        this.cantPaisNorteAmerica = cantPaisNorteAmerica;
        this.cantPaisSudAmerica = cantPaisSudAmerica;
        this.cantPaisEuropa = cantPaisEuropa;
        this.cantPaisAsia = cantPaisAsia;
        this.cantPaisAfrica = cantPaisAfrica;
        this.cantPaisOceania = cantPaisOceania;
        this.jugadorAEliminar = jugadorAEliminar;
    }

    public Objetivo(int codigo) {
        this.codigo = codigo;
    }

    public int getCodigo() {
        return codigo;
    }


    public int getCantPaisAfrica() {
        return cantPaisAfrica;
    }

    public void setCantPaisAfrica(int cantPaisAfrica) {
        this.cantPaisAfrica = cantPaisAfrica;
    }

    public int getCantPaisAsia() {
        return cantPaisAsia;
    }

    public void setCantPaisAsia(int cantPaisAsia) {
        this.cantPaisAsia = cantPaisAsia;
    }

    public int getCantPaisEuropa() {
        return cantPaisEuropa;
    }

    public void setCantPaisEuropa(int cantPaisEuropa) {
        this.cantPaisEuropa = cantPaisEuropa;
    }

    public int getCantPaisNorteAmerica() {
        return cantPaisNorteAmerica;
    }

    public void setCantPaisNorteAmerica(int cantPaisNorteAmerica) {
        this.cantPaisNorteAmerica = cantPaisNorteAmerica;
    }

    public int getCantPaisOceania() {
        return cantPaisOceania;
    }

    public void setCantPaisOceania(int cantPaisOceania) {
        this.cantPaisOceania = cantPaisOceania;
    }

    public int getCantPaisSudAmerica() {
        return cantPaisSudAmerica;
    }

    public void setCantPaisSudAmerica(int cantPaisSudAmerica) {
        this.cantPaisSudAmerica = cantPaisSudAmerica;
    }

    public String getDescripcion() {
        return descripcion;
    }

    public void setDescripcion(String descripcion) {
        this.descripcion = descripcion;
    }

    public Jugador getJugadorAEliminar() {
        return jugadorAEliminar;
    }

    public void setJugadorAEliminar(Jugador jugadorAEliminar) {
        this.jugadorAEliminar = jugadorAEliminar;
    }

    public boolean verificarObjetivo(ArrayList paisesPropios, String color) 
    {
        int auxNorteAmerica=cantPaisNorteAmerica;
        int auxSudAmerica=cantPaisSudAmerica;
        int auxAfrica=cantPaisAfrica;
        int auxAsia=cantPaisAsia;
        int auxEuropa=cantPaisEuropa;
        int auxOceania=cantPaisOceania;
        
        Iterator i=paisesPropios.iterator();
        while(i.hasNext())
        {
            Pais auxPais=(Pais)i.next();
            if(auxPais.getColor().equals(color))    
            {
                Continente con=(Continente)auxPais.getContinente();
                if(con.getNombre().equalsIgnoreCase("AMERICA DEL NORTE"))
                {
                   auxNorteAmerica-=1; 
                }
                else if((con.getNombre().equalsIgnoreCase("AMERICA DEL SUR")))
                {
                    auxSudAmerica-=1; 
                }
                else if((con.getNombre().equalsIgnoreCase("AFRICA")))
                {
                    auxAfrica-=1;
                }
                else if((con.getNombre().equalsIgnoreCase("EUROPA")))
                {
                    auxEuropa-=1; 
                }
                 else if((con.getNombre().equalsIgnoreCase("ASIA")))
                {
                    auxAsia-=1; 
                }
                else if((con.getNombre().equalsIgnoreCase("OCEANIA")))
                {
                    auxOceania-=1; 
                }
            }
        }
        if(auxAfrica<=0 && auxAsia<=0 && auxEuropa<=0 && auxNorteAmerica<=0 && auxOceania<=0 && auxSudAmerica<=0){
            return true;
        }else{
            return false;
        }
    }
    public boolean verificarAmericaDelNorte(ArrayList paisesPropios)
    {
        Iterator i=paisesPropios.iterator();
        int aux=0;
        while(i.hasNext())
        {
            Pais auxPais=(Pais)i.next();
            if(auxPais.getContinente().getNombre().equalsIgnoreCase("AMERICA DEL NORTE"))    
            {
              aux=aux+1;
            }    
        }
       if(aux==10)
       {
           return true;
       }
       else
       {
           return false;
       }
    }
     public boolean verificarAmericaDelSur(ArrayList paisesPropios)
    {
        Iterator i=paisesPropios.iterator();
        int aux=0;
        while(i.hasNext())
        {
            Pais auxPais=(Pais)i.next();
            if(auxPais.getContinente().getNombre().equalsIgnoreCase("AMERICA DEL SUR"))    
            {
               aux=aux+1;
            }    
        }
       if(aux==6)
       {
           return true;
       }
       else
       {
           return false;
       }
    }
      public boolean verificarAfrica(ArrayList paisesPropios)
    {
        Iterator i=paisesPropios.iterator();
        int aux=0;
        while(i.hasNext())
        {
            Pais auxPais=(Pais)i.next();
            if(auxPais.getContinente().getNombre().equalsIgnoreCase("AFRICA"))    
            {
              aux=aux+1;
            }    
        }
       if(aux==6)
       {
           return true;
       }
       else
       {
           return false;
       }
    }
       public boolean verificarOceania(ArrayList paisesPropios)
    {
        Iterator i=paisesPropios.iterator();
        int aux=0;
        while(i.hasNext())
        {
            Pais auxPais=(Pais)i.next();
            if(auxPais.getContinente().getNombre().equalsIgnoreCase("OCEANIA"))    
            {
               aux=aux+1;
            }    
        }
       if(aux==4)
       {
           return true;
       }
       else
       {
           return false;
       }
    }
              public boolean verificarEuropa(ArrayList paisesPropios)
    {
        Iterator i=paisesPropios.iterator();
        int aux=0;
        while(i.hasNext())
        {
            Pais auxPais=(Pais)i.next();
            if(auxPais.getContinente().getNombre().equalsIgnoreCase("EUROPA"))    
            {
              aux=aux+1;
            }    
        }
       if(aux==9)
       {
           return true;
       }
       else
       {
           return false;
       }
    }
            public boolean verificarAsia(ArrayList paisesPropios)
    {
        Iterator i=paisesPropios.iterator();
        int aux=0;
        while(i.hasNext())
        {
            Pais auxPais=(Pais)i.next();
            if(auxPais.getContinente().getNombre().equalsIgnoreCase("Asia"))    
            {
               aux=aux+1;
            }    
        }
       if(aux==15)
       {
           return true;
       }
       else
       {
           return false;
       }
    }
}
